With the advent of the computer age, computer and software users have grown accustomed to user-friendly software applications that help them write, calculate, organize, prepare presentations, send and receive electronic mail, store and manipulate data, make music, and the like. For example, modern database applications allow users to store, organize and manipulate data. Modern electronic word processing applications allow users to prepare a variety of useful documents. Modern spreadsheet applications allow users to enter, manipulate, and organize data. Modern electronic slide presentation applications allow users to create a variety of slide presentations containing text, pictures, data or other useful objects.
To assist users to locate and utilize functionality of a given software application, for example, a database application, a user interface containing a plurality of generic functionality controls is typically provided along an upper, lower or side edge of a displayed workspace in which the user may enter, copy, manipulate and format text or data. Such functionality controls often include selectable buttons with such names as “file,” “edit,” “view,” “insert,” “format,” and the like. Typically, selection of one of these top-level functionality buttons, for example “insert,” causes a drop-down menu to be deployed to expose one or more selectable functionality controls associated with the top-level functionality, for example, “table” under a top-level functionality of “insert.”
After a user selects a desired functionality control, or if the user moves the mouse cursor to a different location, the drop-down menu typically disappears. If the user determines that a functionality of the first drop-down menu was the desired functionality, the user must remember which top-level functionality was selected, reselect that functionality and then find the desired functionality control all over again. Accordingly, in order to use the functionality of a given software application, the user must know the desired functionality is available under one of the selectable buttons, or the user must select different top-level functionalities until the desired specific functionality is located in one of many deployed menus. Such a method of searching for desired functionality is cumbersome and time-consuming, particularly for less experienced users, and when new functionality is added by developers of the software application, the new functionality may never be utilized unless the user is somehow educated as to its existence.
In addition, often a given user desires to customize a user interface provided by a given software application, or a given user often desires to utilize a legacy user interface of a previous version of a software application with which one or more data objects or documents has been developed or edited. If the user is not able to customize the user interface, the utilization experience may be greatly diminished. If the user is not able to utilize legacy user interfaces, the user may be required to expend significant resources updating data objects or documents to comply with later versions of the software application.
It is with respect to these and other considerations that the present invention has been made.